import os
import pandas as pd

# 定义日期文件夹
date_today = '2023-10-01'  # 替换为实际的日期

# 定义文件夹路径
shine_path = f'C:\\Users\\admin\\Desktop\\file\\{date_today}\\SHINE'
temu_path = f'C:\\Users\\admin\\Desktop\\file\\{date_today}\\TEMU'
output_path = f'C:\\Users\\admin\\Desktop\\file\\{date_today}\\SKU拆分.xlsx'

# 初始化一个空的 DataFrame 用于存储所有 SKU
all_sku_data = pd.DataFrame(columns=['原始SKU', '前缀', '后缀'])


# 定义 SKU 拆分函数
def split_sku(sku):
    """
    根据规则拆分 SKU
    """
    if '-' not in sku:
        return [sku, sku, '']  # 如果没有分隔符，则前缀为原始SKU，后缀为空

    # 找到最后一个 '-' 的位置
    last_dash_index = sku.rfind('-')
    prefix = sku[:last_dash_index]  # 前缀：从开头到最后一个 '-' 之前
    suffix = sku[last_dash_index + 1:]  # 后缀：最后一个 '-' 之后

    # 如果后缀包含 @ 或 #，则去掉 @ 及之后的部分
    if '@' in suffix:
        suffix = suffix.split('@')[0]

    return [sku, prefix, suffix]


# 处理 SHINE 文件夹
for file_name in os.listdir(shine_path):
    if file_name.endswith('.xlsx'):
        file_path = os.path.join(shine_path, file_name)
        xls = pd.ExcelFile(file_path)
        print(f"正在处理 SHINE 文件: {file_name}")

        # 检查是否存在“商品信息”Sheet
        if '商品信息' in xls.sheet_names:
            df = pd.read_excel(xls, '商品信息')

            # 检查是否存在“卖家SKU”列
            if '卖家SKU' in df.columns:
                # 提取“卖家SKU”列
                sku_data = df[['卖家SKU']]

                # 对每个 SKU 进行拆分
                for sku in sku_data['卖家SKU']:
                    original_sku, prefix, suffix = split_sku(sku)
                    all_sku_data = all_sku_data.append({
                        '原始SKU': original_sku,
                        '前缀': prefix,
                        '后缀': suffix
                    }, ignore_index=True)
            else:
                print(f"文件 {file_name} 的“商品信息”Sheet中没有“卖家SKU”列")
        else:
            print(f"文件 {file_name} 中没有“商品信息”Sheet")

# 处理 TEMU 文件夹
for file_name in os.listdir(temu_path):
    if file_name.endswith('.xlsx'):
        file_path = os.path.join(temu_path, file_name)
        xls = pd.ExcelFile(file_path)
        print(f"正在处理 TEMU 文件: {file_name}")

        # 检查是否存在“商品基础信息”Sheet
        if '商品基础信息' in xls.sheet_names:
            df = pd.read_excel(xls, '商品基础信息')

            # 检查是否存在“SKU货号”列
            if 'SKU货号' in df.columns:
                # 提取“SKU货号”列
                sku_data = df[['SKU货号']]

                # 对每个 SKU 进行拆分
                for sku in sku_data['SKU货号']:
                    original_sku, prefix, suffix = split_sku(sku)
                    all_sku_data = all_sku_data.append({
                        '原始SKU': original_sku,
                        '前缀': prefix,
                        '后缀': suffix
                    }, ignore_index=True)
            else:
                print(f"文件 {file_name} 的“商品基础信息”Sheet中没有“SKU货号”列")
        else:
            print(f"文件 {file_name} 中没有“商品基础信息”Sheet")

# 保存为新的 Excel 文件
with pd.ExcelWriter(output_path, engine='openpyxl') as writer:
    all_sku_data.to_excel(writer, index=False, sheet_name='SKU拆分')
print(f"所有 SKU 已拆分并保存到 {output_path}")